//using Microsoft.VisualBasic;
using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace NCS
{
	/// <summary>
	///	
	/// </summary>
	[Serializable()]
	public class powerSet
	{

		//public event PropertyChangedEventHandler PropertyChanged;
		//protected void OnPropertyChanged(string name)
		//{
		//    PropertyChangedEventHandler handler = PropertyChanged;
		//    if (handler != null)
		//    {
		//        handler(this, new PropertyChangedEventArgs(name));
		//    }
		//}

		#region "构造方法"
		public powerSet()
		{
			m_ID = 0;
			m_begin_power = 0;
			m_end_power = 0;
			m_time = 0;
			m_sn = 0;
            m_methodid = 0;
		}
        public powerSet(powerSet p2)
        {
            //m_ID = 0;
            m_begin_power = p2.begin_power;
            m_end_power = p2.end_power;
            m_time = p2.time;
            m_sn = p2.sn ;
            //m_methodid = 0;
        }
		#endregion
        public virtual object Clone()
        {
            return new powerSet(this);
        }

		#region "私有变量"
		private int m_ID;
		private int m_methodid;
		private int m_begin_power;
		private int m_end_power;
		private int m_time;
		private method m_method;
			
		private int m_sn;
        #endregion

        #region "公有属性"
        public virtual method method {
			get { return m_method; }
			set { m_method = value; }
		}


		public virtual int id {
			get { return m_ID; }
			set { m_ID = value; }
		}
		public virtual int sn {
			get { return m_sn; }
			set { m_sn = value; }
		}
		///<summary>
		///
		///</summary>
		//Public Overridable Property methodid() As Integer
		//    Get
		//        Return m_methodid
		//    End Get
		//    Set(ByVal value As Integer)
		//        m_methodid = value
		//    End Set
		//End Property

		///<summary>
		///
		///</summary>
		public virtual int begin_power {
			get { return m_begin_power; }
			set { m_begin_power = value; }
		}
		public virtual int end_power {
			get { return m_end_power; }
			set { m_end_power = value; }
		}
		public virtual int time {
			get { return m_time; }
			set { m_time = value; }
		}
		#endregion

		#region "Rewrite Equals and HashCode"
		/// <summary>
		/// 
		/// </summary>
		public override bool Equals(object obj)
		{
			if (object.ReferenceEquals(this, obj)) {
				return true;
			}
			if ((obj == null) || (!object.ReferenceEquals(obj.GetType(), GetType()))) {
				return false;
			}
			powerSet castObj = (powerSet)obj;
			return (castObj != null) && (m_ID == castObj.id);
		}
		/// <summary>
		/// 用唯一值实现GetHashCode
		/// </summary>
		public override int GetHashCode()
		{
			int hash = 57;
			hash = 27 * hash * m_ID.GetHashCode();
			return hash;
		}
		#endregion
	}
}
